from typing import Optional

from model.uml_element import UmlElement
from model.uml_comment import UmlComment
from model.uml_property import UmlProperty
from model.uml_generalization import UmlGeneralization
from model.uml_xmi_info import UmlXmiInfo


class UmlAssociation(UmlElement):
    def __init__(self) -> None:
        super().__init__(UmlXmiInfo.type_association)
        self.isDerived: str= ""
        self.memberEnd: list[str] = []
        self.ownedEnd: Optional[UmlProperty] = None
        self.generalization: Optional[UmlGeneralization] = None
